// 柯理化案例
// 字符串的匹配
// "".match(/\s+/g) // 提取字符串中的所有空白字符
// "".match(/\d+/g) // 提取字符串中的所有数字

const _ = require("lodash");

// function match(reg, str){
//   return str.match(reg);
// }

// 柯理化处理
const match = _.curry(function (reg, str) {
  return str.match(reg);
})

const haveSpace = match(/\s+/g);

// console.log(haveSpace("hello worl  d"));

const haveNum = match(/\d+/g);
// console.log(haveNum("11 dd dd2k"));
// console.log(haveNum("hello world"));


const filter = _.curry(function (func, arr) {
  return arr.filter(func)
})

// console.log(filter(haveSpace, ['john conner', 'hahha_jdfj']));

const findSpace = filter(haveSpace);
console.log(findSpace(['john conner', 'hahha_jdfj']));
